-- XSD schema extracted from ITU-T E.115 (05/2008)

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:simpleType name="E115String"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> <xsd:simpleType name="E115StringUb256"> <xsd:restriction base="E115String"> <xsd:minLength value="1"/> <xsd:maxLength value="256"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="NumericString"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]*"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="SimpleAttribute"> <xsd:restriction base="xsd:boolean"> <xsd:pattern value="true"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="CharacterSubSet"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="basic"/> <xsd:enumeration value="latin1"/> <xsd:enumeration value="latin-ext"/> <xsd:enumeration value="cyrillic"/> <xsd:enumeration value="greek"/> <xsd:enumeration value="arabic"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="GeographicalType"> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="dms"/> <xsd:enumeration value="dd"/> <xsd:enumeration value="dec"/> </xsd:restriction> </xsd:simpleType> <xsd:attributeGroup name="CoordinateTypeDescription"> <xsd:attribute name="geodeticDatum" type="E115StringUb256" use="required"/> <xsd:attribute name="geographical" type="GeographicalType" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="Coordinate"> <xsd:attribute name="latitude" type="E115StringUb256" use="required"/> <xsd:attribute name="longitude" type="E115StringUb256" use="required"/> </xsd:attributeGroup> <xsd:attributeGroup name="CommAddressService"> <xsd:attribute name="fax" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pbx" type="SimpleAttribute" use="optional"/> <xsd:attribute name="txt" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pub" type="SimpleAttribute" use="optional"/> <xsd:attribute name="vid" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pag" type="SimpleAttribute" use="optional"/> <xsd:attribute name="voice" type="SimpleAttribute" use="optional"/> <xsd:attribute name="data" type="SimpleAttribute" use="optional"/> <xsd:attribute name="http" type="SimpleAttribute" use="optional"/> <xsd:attribute name="ftp" type="SimpleAttribute" use="optional"/> <xsd:attribute name="eml" type="SimpleAttribute" use="optional"/> <xsd:attribute name="sms" type="SimpleAttribute" use="optional"/> <xsd:attribute name="mms" type="SimpleAttribute" use="optional"/> <xsd:attribute name="emg" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="InquiryCommAddressChar"> <xsd:attribute name="ftn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="mob" type="SimpleAttribute" use="optional"/> <xsd:attribute name="fixed" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="PhoneService"> <xsd:attribute name="fax" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pbx" type="SimpleAttribute" use="optional"/> <xsd:attribute name="txt" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pub" type="SimpleAttribute" use="optional"/> <xsd:attribute name="vid" type="SimpleAttribute" use="optional"/> <xsd:attribute name="pag" type="SimpleAttribute" use="optional"/> <xsd:attribute name="voice" type="SimpleAttribute" use="optional"/> <xsd:attribute name="data" type="SimpleAttribute" use="optional"/> <xsd:attribute name="sms" type="SimpleAttribute" use="optional"/> <xsd:attribute name="mms" type="SimpleAttribute" use="optional"/> <xsd:attribute name="emg" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="InquiryPhoneChar"> <xsd:attribute name="ftn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="mob" type="SimpleAttribute" use="optional"/> <xsd:attribute name="fixed" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="ReplyPhoneChar"> <xsd:attributeGroup ref="InquiryPhoneChar"/> <xsd:attribute name="prn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="npn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="upn" type="SimpleAttribute" use="optional"/> <xsd:attribute name="old" type="SimpleAttribute" use="optional"/> <xsd:attribute name="adv" type="SimpleAttribute" use="optional"/> <xsd:attribute name="nmk" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:attributeGroup name="GeneralChar"> <xsd:attribute name="restriction" use="optional" default="disclose"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="disclose"/> <xsd:enumeration value="nonDisclose"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:attributeGroup> <xsd:attributeGroup name="Categories"> <xsd:attribute name="business" type="SimpleAttribute" use="optional"/> <xsd:attribute name="residential" type="SimpleAttribute" use="optional"/> <xsd:attribute name="government" type="SimpleAttribute" use="optional"/> </xsd:attributeGroup> <xsd:complexType name="E115Message"> <xsd:choice> <xsd:element name="directoryMessage" type="DirectoryMessage"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="DirectoryMessage"> <xsd:choice> <xsd:element name="inquiry" type="Inquiry"/> <xsd:element name="reply" type="Reply"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="Inquiry"> <xsd:sequence> <xsd:element name="inquiryHeader" type="InquiryHeader"/> <xsd:element name="inquiryData" type="InquiryData"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="InquiryHeader"> <xsd:all> <xsd:element name="acceptedReplyTypes" minOccurs="0"> <xsd:complexType> <xsd:attribute name="provinceList" type="SimpleAttribute" use="optional"/> <xsd:attribute name="localityList" type="SimpleAttribute" use="optional"/> <xsd:attribute name="streetList" type="SimpleAttribute" use="optional"/> <xsd:attribute name="businessCategoryList" type="SimpleAttribute" use="optional"/> </xsd:complexType> </xsd:element> <xsd:element name="inquiryCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> <xsd:element name="replyCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" use="optional"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:length value="12"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="countryCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="providerCode" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="inquiryCharacterSubset" type="CharacterSubSet" use="optional" default="basic"/> <xsd:attribute name="replyCharacterSubset" type="CharacterSubSet" use="optional" default="latin1"/> <xsd:attribute name="requestedReplyType" use="optional" default="subscriberList"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:enumeration value="subscriberList"/> <xsd:enumeration value="provinceList"/> <xsd:enumeration value="localityList"/> <xsd:enumeration value="streetList"/> <xsd:enumeration value="businessCategoryList"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="inquiryLanguage" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:NCName"> <xsd:length value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="replyLanguage" type="xsd:NCName" use="optional"/> </xsd:complexType> <xsd:complexType name="InquiryData"> <xsd:all> <xsd:element name="locality" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="streetName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="houseNumber" type="E115StringUb256" minOccurs="0"/> <xsd:element name="forename" type="E115StringUb256" minOccurs="0"/> <xsd:element name="headingInTheGuide" type="E115StringUb256" minOccurs="0"/> <xsd:element name="professionCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="category" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Categories"/> </xsd:complexType> </xsd:element> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="nationalDestinationCode" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="14"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="commAddress" type="E115StringUb256" minOccurs="0"/> <xsd:element name="commAddressTypes" minOccurs="0"> <xsd:complexType> <xsd:attribute name="phone" type="SimpleAttribute" use="optional"/> <xsd:attribute name="email" type="SimpleAttribute" use="optional"/> <xsd:attribute name="uri" type="SimpleAttribute" use="optional"/> </xsd:complexType> </xsd:element> <xsd:element name="additionalName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="commAddressService" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CommAddressService"/> </xsd:complexType> </xsd:element> <xsd:element name="commAddressChar" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="InquiryCommAddressChar"/> </xsd:complexType> </xsd:element> <xsd:element name="searchCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> <xsd:element name="searchRadius" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="9"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="matchingRule" minOccurs="0"> <xsd:complexType> <xsd:attribute name="wordRotation" type="xsd:boolean" use="optional"/> <xsd:attribute name="phonetic" type="xsd:boolean" use="optional"/> <xsd:attribute name="alias" type="xsd:boolean" use="optional"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="sequenceNumber" use="optional" default="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="geoExpansion" use="optional"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="maxSelectionLevel" type="NumericString" use="optional" default="99"/> </xsd:complexType> <xsd:complexType name="Reply"> <xsd:sequence> <xsd:element name="replyHeader" type="ReplyHeader"/> <xsd:element name="selection" type="Selection" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ReplyHeader"> <xsd:all> <xsd:element name="message" type="E115StringUb256" minOccurs="0"/> <xsd:element name="replyCoordinateType" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="CoordinateTypeDescription"/> </xsd:complexType> </xsd:element> <xsd:element name="searchCenter" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="originatingTerminalCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="8"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dateAndTime" use="optional"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:length value="12"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageNumber" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="4"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="messageCode" use="required"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:length value="2"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="dbSelectionCount" use="optional"> <xsd:simpleType> <xsd:restriction base="E115String"> <xsd:minLength value="1"/> <xsd:maxLength value="10"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="Selection"> <xsd:all> <xsd:element name="commAddresses" type="CommAddresses" minOccurs="0"/> <xsd:element name="locality" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="forename" type="E115StringUb256" minOccurs="0"/> <xsd:element name="streetName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="houseNumber" type="E115StringUb256" minOccurs="0"/> <xsd:element name="supplementaryData" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberMessage" type="E115StringUb256" minOccurs="0"/> <xsd:element name="headingInTheGuide" type="E115StringUb256" minOccurs="0"/> <xsd:element name="professionCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="countyStateOrProvince" type="E115StringUb256" minOccurs="0"/> <xsd:element name="subscriberDescription" type="E115StringUb256" minOccurs="0"/> <xsd:element name="category" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Categories"/> </xsd:complexType> </xsd:element> <xsd:element name="postalCode" type="E115StringUb256" minOccurs="0"/> <xsd:element name="distance" type="E115StringUb256" minOccurs="0"/> <xsd:element name="additionalName" type="E115StringUb256" minOccurs="0"/> <xsd:element name="selectionCoordinate" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="Coordinate"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="selectionLevel" use="optional" default="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="CommAddresses"> <xsd:choice maxOccurs="unbounded"> <xsd:element name="phone"> <xsd:complexType> <xsd:all> <xsd:element name="countryCallingCode"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="3"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="nationalDestinationCode" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="NumericString"> <xsd:minLength value="1"/> <xsd:maxLength value="14"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="number" type="E115StringUb256"/> <xsd:element name="phoneService" minOccurs="0"> <xsd:complexType> <xsd:attributeGroup ref="PhoneService"/> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attributeGroup ref="ReplyPhoneChar"/> <xsd:attributeGroup ref="GeneralChar"/> </xsd:complexType> </xsd:element> <xsd:element name="email"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="E115StringUb256"> <xsd:attribute name="nmk" type="SimpleAttribute" use="optional"/> <xsd:attributeGroup ref="GeneralChar"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="uri"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="E115StringUb256"> <xsd:attributeGroup ref="GeneralChar"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:choice> </xsd:complexType> <xsd:element name="e115Message" type="E115Message"/> </xsd:schema>